package cn.source.system.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import cn.source.common.annotation.Excel;
import cn.source.common.core.domain.BaseEntity;
/**
 * 假期管理对象 t_holiday
 *
 * @author gygl
 * @date 2023-08-30
 */
public class Holiday extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** 节假日编号id */
    @Excel(name = "节假日编号id")
    private Long id;
    /** 节假日的日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "节假日的日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date holidayDate;
    /** 节假日的中文名 */
    @Excel(name = "节假日的中文名")
    private String holidayName;
    /** 薪资的倍数，3表示是3倍工资 */
    @Excel(name = "薪资的倍数，3表示是3倍工资")
    private Long holidayWage;
    /** 距离目标节假日的天数（表示当前时间距离目标还有多少天。比如今天是 2018-09-28，距离 2018-10-01 还有3天） */
    @Excel(name = "距离目标节假日的天数", readConverterExp = "表=示当前时间距离目标还有多少天。比如今天是,2=018-09-28，距离,2=018-10-01,还=有3天")
    private Long holidayRest;
    /** 是否节前调休（用 1 代表 TRUE，0 代表 FALSE）--true表示放完假后调休，false表示先调休再放假 */
    @Excel(name = "是否节前调休", readConverterExp = "用=,1=,代=表,T=RUE，0,代=表,F=ALSE")
    private Integer holidayAfter;
    /** 调休的节假日（即表示所属的节假日） */
    @Excel(name = "调休的节假日", readConverterExp = "即=表示所属的节假日")
    private String holidayTarget;
    /** 创建人手机号 */
    @Excel(name = "创建人手机号")
    private String createUser;
    /** 创建人姓名 */
    @Excel(name = "创建人姓名")
    private String createName;
    public void setId(Long id)
    {
        this.id = id;
    }
    public Long getId()
    {
        return id;
    }
    public void setHolidayDate(Date holidayDate)
    {
        this.holidayDate = holidayDate;
    }
    public Date getHolidayDate()
    {
        return holidayDate;
    }
    public void setHolidayName(String holidayName)
    {
        this.holidayName = holidayName;
    }
    public String getHolidayName()
    {
        return holidayName;
    }
    public void setHolidayWage(Long holidayWage)
    {
        this.holidayWage = holidayWage;
    }
    public Long getHolidayWage()
    {
        return holidayWage;
    }
    public void setHolidayRest(Long holidayRest)
    {
        this.holidayRest = holidayRest;
    }
    public Long getHolidayRest()
    {
        return holidayRest;
    }
    public void setHolidayAfter(Integer holidayAfter)
    {
        this.holidayAfter = holidayAfter;
    }
    public Integer getHolidayAfter()
    {
        return holidayAfter;
    }
    public void setHolidayTarget(String holidayTarget)
    {
        this.holidayTarget = holidayTarget;
    }
    public String getHolidayTarget()
    {
        return holidayTarget;
    }
    public void setCreateUser(String createUser)
    {
        this.createUser = createUser;
    }
    public String getCreateUser()
    {
        return createUser;
    }
    public void setCreateName(String createName)
    {
        this.createName = createName;
    }
    public String getCreateName()
    {
        return createName;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("holidayDate", getHolidayDate())
            .append("holidayName", getHolidayName())
            .append("holidayWage", getHolidayWage())
            .append("holidayRest", getHolidayRest())
            .append("holidayAfter", getHolidayAfter())
            .append("holidayTarget", getHolidayTarget())
            .append("createUser", getCreateUser())
            .append("createName", getCreateName())
            .append("createTime", getCreateTime())
            .toString();
    }
}
